
// JavaScript Document
function parte_dv(valor, pre){
	var vl, numero;
	
	if (pre){
		numero = 3;	
	}else{
		numero = 0;	
	}
	
	var posicao = valor.indexOf("-", numero);
	
	if (posicao == -1){
		vl = valor.slice(numero, valor.length);
	}else{
		vl = valor.slice(numero, posicao);
	}
	return vl;
}

//DeclaraCao de variaveis globais
var v_antigo = '';
javascript:window.history.forward(1);

//FunCao para voltar para pagina desejada
function voltaparapagina(){
	if (typeof(window.parent.voltar_para) == "string"){
		window.parent.document.location.href = window.parent.voltar_para;
	}else{
		history.back();
	}
}

//FunCao para abrir janela
function abrejanela(arquivo, nome, parametro){		
	var xwind;
	xwind = window.open(arquivo,nome,parametro);
	if (xwind != null) if (xwind.opener == null) xwind.opener = self;
}

//FunCao para fechar janela
function fechajanela(opcao){
	if (opcao == ''){
		if (confirm("Clique em OK para Fechar o Sistema e CANCELAR para fazer Logoff?"))
			window.location = 'logout.asp?fechar=sim'
		else
			window.location = 'logout.asp';
	}else{
		window.close();
	}
}

//Funcao que busca um objeto pelo nome para compatibilizacao do browse IE com Netscape.
//Sempre usar esta funcao no lugar de document.all
function findObj(n, d) { //v4.01
	// n: nome do objeto. Exemplo: findObj('span_municipio')
	// d: nao obrigatorio. Usar quando for procurar em uma janela que nao a atual. Exemplo: findObj('span_municipio', parent.document) ou findObj('span_municipio', opener.document)
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length){
		d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n); return x;
}

//FuCao desenvolvida para busca por c�dio ou texto de inputs, "qualquer duvida Eduardo"
function pesquisa_geral(pesquisa, tipo, obj, campo, campo_requerido, campo_codigo, campo_texto, campo_codigo_tb, campo_focus, span, funcao, valor_auxiliar){
	if (campo.value != ''){
		if (tipo == 'TEXTO'){
			if (campo_requerido != ''){
				if (eval("obj." + campo_requerido + ".value == ''")){
					eval("alert(obj." + campo_requerido + ".title);");
					campo.value = '';
					eval("obj." + campo_requerido + ".focus();");
					return false;
				}
			}
			// innerOriginal + span = varial que guarda o valor antigo do innerHTML antes de montar a combo
			eval('innerOriginal' + span + ' = document.getElementById("' + span + '").innerHTML;');
		}
		
		url = "monta_combos_sistema.asp?combo=" + pesquisa + "&tipo=" + tipo + "&campo=" + campo.name + "&valor=" + campo.value + "&campo_requerido=" + campo_requerido + "&campo_codigo=" + campo_codigo + "&campo_texto=" + campo_texto + "&campo_focus=" + campo_focus + "&span=" + span + "&funcao=" + funcao;
		if (campo_requerido != '') url += "&valor_requerido=" + eval("obj." + campo_requerido + '.value');
		if (campo_codigo_tb != '') url += "&campo_codigo_tb=" + campo_codigo_tb;
		if (valor_auxiliar != '') url += "&valor_auxiliar=" + valor_auxiliar;
		
		if (tipo != 'AUX'){
			eval("obj." + campo_texto + ".value = 'AGUARDE...';");
		}
		
		oIFrame = findObj('iframe_pesquisa_geral');
		
		if (oIFrame){oIFrame.src = url;}
		else alert("Erro: IFrame nao foi criado");
		
		return false;
	}else{
		eval("obj." + campo_codigo + ".value = '';");
		eval("obj." + campo_texto + ".value = '';");
		if (campo_codigo_tb != ''){
			eval("obj." + campo_codigo_tb + ".value = '';");
		}
		if (campo.name == campo_codigo){
			eval("obj." + campo_texto + ".focus();");
		}
		if (funcao != ''){
			eval(funcao + '()');
		}
		return false;
	}
}

//FunCao para limpar os campos informados
function lCamposInfo(cod, desc, cod_aux, desc_aux){
	if (cod != '' && cod){
		document.getElementById(cod).value = "";
	}
	if (desc != '' && desc){
		document.getElementById(desc).value = "";
	}
	if (cod_aux != '' && cod_aux){
		document.getElementById(cod_aux).value = "";
	}
	if (desc_aux != '' && desc_aux){
		document.getElementById(desc_aux).value = "";
	}
}

//FunCao para bloquear caracteres nao num�ricos no onkeydown
function Onlynumber(e){
	var kCode = (window.event) ? event.keyCode : e.charCode ? e.charCode : e.which;
	
	if( ((kCode < 48) || (kCode > 57)) && ((kCode < 96) || (kCode > 105)) && (!retornaCodigosValidos(kCode)) ){
		return false;
	}
}

//FunCao para evitar que o usuario digite caracteres nao num�ricos onblur
function campo_num_int(campo){
	valor = campo.value;
	
	if (valor != ""){
		for (i = 0; i <= valor.length-1; i++){
			sub_valor	= valor.substring(i,i+1);
			vl_asc		= sub_valor.charCodeAt(0);
			
			if (vl_asc < 48 || vl_asc > 57){
				alert("Este campo deve conter apenas caracteres num�ricos");
				campo.value = "";
				campo.focus();
				return false
			}
		}
	}
	
	return true;
}

function retornaCodigosValidos(codigo){
	switch (codigo){
		case 8	: return true; //Back space
		case 9	: return true; //Tab
		case 13	: return true; //Enter
		case 33	: return true; //Page Up
		case 33	: return true; //Page Down
		case 35	: return true; //End
		case 36	: return true; //Home
		case 37	: return true; //Seta para Esquerda
		case 38	: return true; //Seta para Cima
		case 39	: return true; //Seta para Direita
		case 40	: return true; //Seta para Baixo
		case 45	: return true; //Insert
		case 46	: return true; //Delete
		default	: return false; //Default
	}
}

//FunCao para colocar o texto Maiusculo
function Caixa_Alta(obj){
	obj.value = obj.value.toUpperCase();
}

//FunCao para colocar o texto minusculo
function Caixa_Baixa(obj){
	obj.value = obj.value.toLowerCase();
}

//FunCao para mover dados de uma lista para outra
function movelist(ori, des){
	for (i=ori.length-1; i >= 0; i--){
		if ( ori.options[i].selected ){
			des.options[des.length] = new Option(ori.options[i].text, ori.options[i].value, false, false);
			ori.options[i] = null;
		}
	}
	
	// ordena o destino
	for (i = des.length-1; i >= 0; i--){
		for (k = 0 ; k < i; k++){
			if (des.options[k].text > des.options[i].text ){
				o = new Option(des.options[i].text, des.options[i].value, false, false);
				des.options[i].value = des.options[k].value;
				des.options[i].text = des.options[k].text;
				des.options[k].value = o.value;
				des.options[k].text = o.text;
			}
		}
	}
}

//FunCao para limpar o conteudo de um object SELECT
function limpacombo(obj){
	var i;
	
	for (i = obj.length - 1; i > 0; i--)
		obj.options[i] = null;
	
	return false;
}

//FunCao para copiar valores para a combo
function copiacombo(cd, tx, obj){
	var i;
	
	if (tx.type && tx.type.substr(0, 6)  == 'select')
		for (i=0; i < tx.length; i++) 
			obj.options[obj.length] = new Option(tx[i].text, tx[i].value, false, false);
	else
		if (cd.length > 0)
			for (i=0; i < cd.length; i++)
				obj.options[obj.length] = new Option(tx[i].value, cd[i].value, false, false);
		else 
			obj.options[obj.length] = new Option(tx.value, cd.value, false, false);
	
	return false;
}

//FunCao para setar o valor da variavel v_antigo no onfocus
function sv_antigo(obj){
	v_antigo = obj.value.toUpperCase();
}

//FunCao que valida se foi alterado a variavel v_antigo
function vv_antigo(obj){
	if (obj.value != v_antigo && v_antigo.toUpperCase() != 'AGUARDE...'){ return true; }
	return false;
}

//FunCao para mostrar/ocultar um determinado objeto
function some_aparece_objeto(nome){
	if (document.getElementById(nome).style.display == 'none')
		document.getElementById(nome).style.display = ''
	else
		document.getElementById(nome).style.display = 'none';
}

//FunCao para calcular se � ano bisexto
function anobissexto(ano){
	if (ano % 100 == 0){
		if (ano % 400 == 0){ return true; }
	}
	else{
		if ((ano % 4) == 0) { return true; }
	}
	return false;
}

//FunCao para validar data
function chdata(xcampo){
	var campo = xcampo.value;
	var datavalida = true;
	var quatro = true;
	
	if (campo != "__/__/____"){

        if (campo.length != 10)
			datavalida = false
		else{
			dia = (campo.substr(0, 2));
			mes = (campo.substr(3, 2));
			ano = (campo.substr(6, 4));
			
			if (anobissexto(ano) == true)
				var dias = new Array(31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31)
			else
				var dias = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
			
			if (ano < 1000){
				quatro = false;
			}
			
			if ((ano < 1900) || (ano > 9999)){
				datavalida = false;
			}else
				if ((mes < 1) || (mes > 12)){
					datavalida = false;
				}else
					if ((dia < 1) || (dia > dias[mes-1])){
						datavalida = false;
					}
		}
	}
	
	if (datavalida == false){
		alert('Data informada esta invalida');
		xcampo.value = "";
		 
	}else if (quatro == false){
		alert('Informe o ano com 4 digitos');
		xcampo.value = "";

	}
	
	return datavalida;
}

//FunCao para calcular a semana epidemiol�gica
function calcula_semana_epidemiologica(data, campo){
	if (data.value == '')
		campo.value = '';
	else{
		valor_data = data.value.substr(3,3) + data.value.substr(0,3) + data.value.substr(6,4);
		ano = valor_data.substr(6,4);
		ano = parseInt(ano)+1;
		semana = 0;
		
		while (semana == 0){
			valor_data = data.value.substr(3,3) + data.value.substr(0,3) + data.value.substr(6,4);
			ano = ano - 1;
			novadata = new Date('01/01/'+ano);
			dia_semana = novadata.getDay();
			switch (dia_semana){
				case 0: data_inicio = '01/01/' + ano; break;
				case 1: data_inicio='12/31/'+(ano-1); break;
				case 2: data_inicio='12/30/'+(ano-1); break;
				case 3: data_inicio='12/29/'+(ano-1); break;
				case 4: data_inicio='01/04/'+ano; break;
				case 5: data_inicio='01/03/'+ano; break;
				case 6: data_inicio='01/02/'+ano; break;
			}
			
			novadata = new Date('12/31/'+ano);
			dia_semana = novadata.getDay();
			switch (dia_semana){
				case 0: data_fim='12/30/'+ano; break;
				case 1: data_fim='12/29/'+ano; break;
				case 2: data_fim='12/28/'+ano; break;
				case 3: data_fim='01/03/'+(ano+1); break;
				case 4: data_fim='01/02/'+(ano+1); break;
				case 5: data_fim='01/01/'+(ano+1); break;
				case 6: data_fim='12/31/'+ano; break;
			}
			
			if (Date.parse(valor_data) > Date.parse(data_fim)){
				ano = ano+1;
				semana = 1;
			}else if (Date.parse(valor_data) < Date.parse(data_inicio)) {
				semana = 0;
			}else {
				semana = (((Date.parse(valor_data) - Date.parse(data_inicio))/86400000)/7) + 1;  //86400000 � 1 dia em milissegundos;
				semana = Math.floor(semana);
			}
			
			if (semana < 10)
				semana = '0'+semana;
		}
		campo.value = ano + '' + semana;
	}
}

function diferencaDias(data1, data2){
	var dif =
		Date.UTC(data1.getYear(),data1.getMonth(),data1.getDate(),0,0,0)
		- Date.UTC(data2.getYear(),data2.getMonth(),data2.getDate(),0,0,0);
	return Math.abs((dif / 1000 / 60 / 60 / 24));
}

//FunCao para validar a hora
function chhora(obj){
	var valor = obj.value;
	var invalida = false;
	
	if (valor != ""){
		if (valor.length < 5) invalida = true;
		
		vet_valor = valor.split(":");
		
		if ((vet_valor[0] < 00 ) || (vet_valor[0] > 23) || (vet_valor[1] < 00) || (vet_valor[1] > 59)) invalida = true;
		
		if (invalida){
			alert("Hora invalida");
			obj.value = "";
			obj.focus();
			return false;
		}
	}
}

//FunCao para compara 2 datas para critica
function compara_data(tipo,data_anterior,data_posterior,str_data_anterior,str_data_posterior){
	var data1 = data_anterior.value;
	var data2 = data_posterior.value;
		
	if (data1!=""){
		dia1 = (data1.substr(0, 2));
		mes1 = (data1.substr(3, 2));
		ano1 = (data1.substr(6, 4));
		
		if (data2!=""){
			dia2 = (data2.substr(0, 2));
			mes2 = (data2.substr(3, 2));
			ano2 = (data2.substr(6, 4));
		
			checagem = false;
			
			if (ano2>ano1){
				checagem = true;
			}else{
				if (ano2==ano1){
					if (mes2>mes1){
						checagem = true;
					}else{
						if (mes2==mes1){
							if (dia2>=dia1){
								checagem = true;
							}
						}
					}
				}
			}
		
			if (checagem==false){
				if (tipo=="anterior"){
					alert(str_data_anterior + ' deve ser no maximo igual a ' + str_data_posterior + ' (' + dia2 + '/' + mes2 + '/' + ano2 + ')' );
					data_anterior.value = "";
					 
				}else{
					alert(str_data_posterior + ' deve ser no minimo igual a ' + str_data_anterior + ' (' + dia1 + '/' + mes1 + '/' + ano1 + ')');
					data_posterior.value = "";

				}
		
				if (checagem==false)
					return false
				else
					return true;
			}
		}
	}
}



function reparaqdr (xcampo){
    var qqq = xcampo.value

 





if ( qqq < 10 && qqq > 0 ) { xcampo.value = "0"+ qqq.substr(-1)}



    else

        if(qqq <1) { xcampo.value = "00" } ;


}
        
          
function reparaqdrbarra (xcampo){
    var qqq = xcampo.value

if ( qqq < 10 && qqq > 0 ) { xcampo.value = "0"+ qqq.substr(-1)}



    else

        if(qqq <1) { xcampo.value = "00" } ;

}


















//FunCao para compara data com a data atual
function compara_data_com_hoje(data_anterior,str_data_anterior){
	var data1 = data_anterior.value;
		
	if (data1!="__/__/____"){
		dia1 = (data1.substr(0, 2));
		mes1 = (data1.substr(3, 2));
		ano1 = (data1.substr(6, 4));
		
		thedate = new Date();
		mes2 = thedate.getMonth()+1;
		dia2 = thedate.getDate();
		ano2 = thedate.getYear();
		
      
       
        

        if (ano2 < 1900){
			ano2 = ano2 + 1900;
		}
		

          ano3 = ano2 -1 ;




        checagem = false;
        checagem2= false;


        if (ano2>ano1)
			checagem = true;
		else{

   

           

            if (ano2==ano1){
				if (mes2>mes1)
					checagem = true;
				else{
					if (mes2==mes1){
						if (dia2>=dia1)
							checagem = true;
					}
				}
			}
		}
    






		if (checagem==false){
			alert(''+str_data_anterior+' deve ser no maximo igual a data de hoje ('+dia2+'/'+mes2+'/'+ano2+')');

            

            data_anterior.value = "";
			 
		}

	if (ano1 < ano3 ){

    alert('Ano invalido (' + ano1 + ') Ano Nao Pode ser Menor que (' + ano3+ ')');
 

        data_anterior.value = "";

	}






}


    




	return true;
}

//FunCao para remover valor nao num�ricos
function RemoveNoNumeric(n){
	s = "";
	n = String(n);
	for (i=0; i < n.length; i++){
		if (n.charAt(i) >= "0" && n.charAt(i) <= "9"){
			s = s + n.charAt(i);
		}
	}
	return s;
}

//FunCao para verificar se o campo de CEP foi preenchido corretamente
function verifica_CEP(Campo){
	if (Campo != ""){
		if (Campo.length < 9){
			alert('Preencha corretamente o n� do CEP');
			Campo.value = "";
			Campo.focus();
		}
	}
}

//FunCao para compara o valor atual com o valor antigo
function compara_param(campo){
	if (campo.value == campo.title)
		return false
	else{
		campo.title = campo.value;
		return true;
	}
}

// FunCao da um ReplaceAll
function RetiraCaracter(n, str, rep){
  s = "";
  for (i=0; i < n.length; i++) {
      if (n.charAt(i) != str) {
         s = s + n.charAt(i);      
	  }else{
         s = s + rep;      
	  }
  }
  return s;
}

// FunCao para adicioanr a quantidade de zeros necessarios a esquerda do valor
function AdicionaZeros(obj, qtd){
	var valor;
	
	if (obj.value == "") return false;
	
	valor = obj.value;
	while (valor.length < qtd){
		valor = "0" +  valor;
	}
	
	obj.value = valor;
}

//FunCao para retornar o indice e o valor da radio selecionado
function valorradioselecionado(obj){
	var i;
	var valor = new Array();
	
	for (i = 0; i < obj.length; i++)
		if (obj[i].checked){
			valor[0] = i;
			valor[1] = obj[i].value;
			
			break;
		}
	return valor;
}

//FunCao para validar DO de acordo com a numeraCao com ou sem digito verificador
function valida_dn(obj){
	var valor		= obj.value; //pegao o numero informado
	var position	= valor.indexOf("-", 3); //calcula a posiCao do caracter '-' que separa o c�digo do digito verificador
	var numero		= valor.slice(3,position); //pega so o n�mero informado sem o dv
	
	if (valor == '' || valor == '00000000' || valor == '00-00000000-0'){
		obj.value = '';
		return false;
	}
	
	if (valor.length == 8){
		valida_sem_dv(obj);
	}else if (valor.length > 8){
		if ((numero > 43700000) && (numero < 48101001)){
			valida_dv_divisao11(obj);
		}else if (numero > 48101000){
			valida_dv_modulo11(obj);
		}else{
			valida_sem_dv(obj);
		}
	}
}

// FunCao para validar DO sem digito verificador
function valida_sem_dv(codigo){
	var cod		= codigo.value; //pegao o numero informado
	var valido	= false;
	
	if (cod.length != 8) valido = true;
	if (cod > 43700000) valido = true;

	if (valido){
		alert("N�mero de DN invalido!")	;
		codigo.value= '';
		codigo.focus();
		return false;
	}
}

//FunCao para validar o digito verificador da DN primeira funCao
function valida_dv_divisao11(codigo){
	var cod			= codigo.value.slice(3, codigo.value.length); //pegao o numero informado sem o pre
	var pre			= codigo.value.slice(0, 2); //pega o valor do pre
	var position	= cod.indexOf("-"); //calcula a posiCao do caracter '-' que separa o c�digo do digito verificador
	var numero		= cod.slice(0,position); //pega so o n�mero informado sem o dv
	var dv_atual	= cod.slice(position+1, cod.length); //pega dv informado
	var dv			= numero % 11; //pega o resto da divisao do n�mero onde este � o digito verificar correto
	var valido		= false;
	
	if (cod.length != 10) valido = true;
	if (pre != "00") valido = true;
	if ((position == -1) || (position == 0)) valido = true;
	if ((numero < 43700001) || (numero > 48101000)) valido = true;
	
	if (valido){
		alert("N�mero de DN invalido!")	;
		codigo.value= '';
		codigo.focus();
		return false;
	}
		
	if (dv == 10) dv = 0;
	
	//compara o digito verificador atual com o que foi calculado
	if (dv == dv_atual){
		return true
	} else {
		alert("Digito Verificador Invalido")
		codigo.value= '';
		codigo.focus();
		return false
	}
}

//FunCao para validar o digito verificador da DO modulo 11
function valida_dv_modulo11(codigo, pre){
	var cod			= codigo.value.replace("-", ""); //pegao o numero informado retirando primeiro '-'
	var position	= cod.indexOf("-"); //calcula a posiCao do caracter '-' que separa o c�digo do digito verificador
	var valor		= cod.slice(2,position); //pega so o n�mero informado sem o dv e sem pre
	var valorcompre	= cod.slice(0,position); //pega so o n�mero informado sem o dv com pre
	var numero		= 0;
	var dv			= 0;
	var tamanho1	= valorcompre.length - 1; //tamanho do n�mero sem o dv
	var valido		= false;
	
	if (cod.length != 12) valido = true;
	if ((position == -1) || (position == 0)) valido = true;
	if ((cod.length - (position + 1) > 1) || (cod.length - (position + 1) == 0)) valido = true;
	if (valor < 48101001) valido = true;
	
	if (valido){
		alert("N�mero de DO invalido!")	;
		codigo.value= '';
		codigo.focus();
		return false;
	}
	
	// Atribuo cada numero separadamente a uma variavel invertendo os n�meros, da direita para a esquerda		
	// A minha primeira variavel recebe o �ltimo
	// Isso para facilitar na hora do calculo
	Dig0 = valorcompre.slice(tamanho1);
	
	for (i = 1; i < position; i++){
		eval("Dig" + i + " = valorcompre.slice(" + (tamanho1-i) + ", " + (position-i) + ");");
	}
	
	// multiplica-se cada digito do numero de 2 a 9 , da direita para a esquerda
	// somando cada resultado
	u = 1;
	for (i = 0; i < position; i++){
		u++;
		numero = numero + (eval("Dig" + i) * u);
		if (u == 9){
			u = 1;
		}
	}
	
	// calcula o m�dulo 11 do resultado da soma
	numero = numero % 11;
	
	// Se o modulo for igual a 0 ou 1 o digito verificador sera 0
	// se o modulo for maior que 1 deve-se diminuir de 11
	if (parseInt(numero) == 0 || parseInt(numero) == 1){
		dv = 0;
	}else{
		dv = 11 - parseInt(numero);
	}
	
	if (dv == cod.substr(position + 1,1)){
		return true;
	} else {
		alert("Digito Verificador Invalido");
		codigo.value= '';
		codigo.focus();
		return false;
	}
}

// valida o n�mero do CNPJ
function valida_cnpj(campo)
      { alert(campo)
	  //Declaração as variáveis
      var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais, cnpj;
	  cnpj = campo.value;

	  	  //Verificando se o campo é nulo
	  if (cnpj.length == 0) {
            return false;
			}

	//Filtrar o campo para verificar se está com máscara
   var filtro = /\d{2,3}.\d{3}.\d{3}\/\d{4}-\d{2}/;
   if(!filtro.test(cnpj)){
     window.alert("CNPJ inválido. Tente novamente.");
	campo.value = "";
        return false;
   }
	  //Ultilização expressão regular para retirar o que não for número
	  cnpj = cnpj.replace(/\D+/g, '');
      digitos_iguais = 1;

      for (i = 0; i < cnpj.length - 1; i++)
            if (cnpj.charAt(i) != cnpj.charAt(i + 1))
                  {
                  digitos_iguais = 0;
                  break;
                  }
      if (!digitos_iguais)
            {
            tamanho = cnpj.length - 2
            numeros = cnpj.substring(0,tamanho);
            digitos = cnpj.substring(tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--)
                  {
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
                  }
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(0)){
				alert('CNPJ inválido');
                  return false;
				  }
            tamanho = tamanho + 1;
            numeros = cnpj.substring(0,tamanho);
            soma = 0;
            pos = tamanho - 7;
            for (i = tamanho; i >= 1; i--)
                  {
                  soma += numeros.charAt(tamanho - i) * pos--;
                  if (pos < 2)
                        pos = 9;
                  }

            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
            if (resultado != digitos.charAt(1)){
					alert('CNPJ inválido');
                  return false;
				  }
            return true;
            }
      else
			alert('CNPJ inválido');
            return false;
      }



// valida o n�mero do CPF
function validaCPF(valor){
	if (verificaCPF(valor)){
		cpf = RemoveNoNumeric(valor.value);
		soma = parseInt(cpf.substr(0,1)*10) + parseInt(cpf.substr(1,1)*9) + parseInt(cpf.substr(2,1)*8) + 
			   parseInt(cpf.substr(3,1)*7) + parseInt(cpf.substr(4,1)*6) + parseInt(cpf.substr(5,1)*5) + parseInt(cpf.substr(6,1)*4) + 
			   parseInt(cpf.substr(7,1)*3) + parseInt(cpf.substr(8,1)*2);
		resto = soma - (11 * Math.floor(soma / 11));
		if (resto == 0 || resto == 1) 
			DV = 0;
		else
			DV = 11 - resto;
		if (DV != cpf.substr(9,1)){
			alert('CPF invalido!');
			valor.value = '';
			valor.focus();
			return false;
		  }
		else{
			soma = parseInt(cpf.substr(0,1)*11) + parseInt(cpf.substr(1,1)*10) + parseInt(cpf.substr(2,1)*9) + 
				   parseInt(cpf.substr(3,1)*8) + parseInt(cpf.substr(4,1)*7) + parseInt(cpf.substr(5,1)*6) + parseInt(cpf.substr(6,1)*5) + 
				   parseInt(cpf.substr(7,1)*4) + parseInt(cpf.substr(8,1)*3) + parseInt(cpf.substr(9,1)*2);
			resto = soma - (11 * Math.floor(soma / 11));
			if (resto == 0 || resto == 1) 
				DV = 0;
			else
				DV = 11 - resto;
			if (DV != cpf.substr(10,1)){
				alert('CPF invalido!');
				valor.value = '';
				valor.focus();
				return false;
			}
		}
		if((valor.value == "000.000.000-00") 
			|| (valor.value == "111.111.111-11") 
			|| (valor.value == "222.222.222-22") 
			|| (valor.value == "333.333.333-33") 
			|| (valor.value == "444.444.444-44") 
			|| (valor.value == "555.555.555-55") 
			|| (valor.value == "666.666.666-66") 
			|| (valor.value == "777.777.777-77") 
			|| (valor.value == "888.888.888-88") 
			|| (valor.value == "999.999.999-99")
			|| (valor.value == "00000000000") 
			|| (valor.value == "11111111111") 
			|| (valor.value == "22222222222") 
			|| (valor.value == "333.333.333-33") 
			|| (valor.value == "44444444444") 
			|| (valor.value == "55555555555") 
			|| (valor.value == "66666666666") 
			|| (valor.value == "77777777777") 
			|| (valor.value == "88888888888") 
			|| (valor.value == "99999999999"))
		{
			alert('CPF invalido!');
			valor.value = '';
			valor.focus();
			return false;
		}
	}
}

// verifica se o CPF foi completamente digitado
function verificaCPF(valor){
	if (valor.value != "") {
		tam = valor.value;
		if (tam.length < 14) {
			alert('CPF incompleto!')
			valor.value = "";
			valor.focus();
			return false;
		}
		else return true;
	}
	else return false;
}

//verifica validade de e-mail
function verifica_email(valor){
	if (valor.value != ""){
		email = valor.value;
		for (i=0; i < email.length; i++) {
			if (email.charAt(i) != "@") {
				email_valido = false;
			}
			else{
				email_valido = true;
				return;
			}
		}
		
		alert('EndereCo eletr�nico invalido!');
		
		valor.value="";
		valor.focus();
	}
}

//valida digito verificador
function valida_dv(codigo, pre){
	if (codigo.value == '') return false;
	var cod = codigo.value;
	
	if (pre){
		cod = cod.slice(3, cod.length);
	}
	
	//calcula a posiCao do caracter '-' que separa o c�digo do digito verificador
	var position	= cod.indexOf("-");
	var valor		= '';
	var dv1			= 0;
	var numero		= 0;
	var dv			= 0;
	var tamanho1	= 0;
	
	if ((position == -1) || (position == 0)){
		alert("O c�digo esta incompleto!");
		codigo.value= '';
		codigo.focus();
		return false;
	}
	
	if ((cod.length - (position + 1) > 1) || (cod.length - (position + 1) == 0)){
		alert("O c�digo � invalido!");
		codigo.value= '';
		codigo.focus();
		return false;
	}
	
	
	valor = cod.slice(0,position);


	tamanho1 = valor.length - 1;
	
	// Atribuo cada numero separadamente a uma variavel invertendo os n�meros, da direita para a esquerda		
	// A minha primeira variavel recebe o �ltimo
	// Isso para facilitar na hora do calculo
			
	Dig0 = valor.slice(tamanho1);
			
	for (i = 1; i < position; i++){
		eval("Dig" + i + " = valor.slice(" + (tamanho1-i) + ", " + (position-i) + ");");
	}
			
	// multiplica-se cada digito do numero de 2 a 9 , da direita para a esquerda
	// somando cada resultado
			
	u = 1;
	for (i = 0; i < position; i++){
		u++;
		numero = numero + (eval("Dig" + i) * u);
		if (u == 9){
			u = 1;
		}
	}
	
	// calcula o m�dulo 11 do resultado da soma
	
	numero = numero % 11;
	
	// Se o modulo for igual a 0 ou 1 o digito verificador sera 0
	// se o modulo for maior que 1 deve-se diminuir de 11
			
	if (numero == 0 || numero == 1){
		dv = 0;
	}else{
		dv = 11 - numero;
	}
	
	if (dv == cod.substr(position + 1,1)){
		//alert("verdadeiro")
		return true
	} else {
		alert("Digito Verificador Invalido");
		codigo.value= '';
		codigo.focus();
		return false
	}
}

//FunCao para bloquear Login Name
function BloqueiaLoginName(boNumeric){	
	var caract = new RegExp("[a-z A-Z . @]"); //Aqui coloque caracteres validos 

	var nuloC  = new RegExp("[C]");
	var nuloA  = new RegExp("[aa��]");
	var nuloE  = new RegExp("[���]");
	var nuloI  = new RegExp("[i��]");
	var nuloO  = new RegExp("[����]");
	var nuloU  = new RegExp("[���]");
	 
	if (nuloC.test(String.fromCharCode(event.keyCode))) {event.keyCode=67;return;}
	if (nuloA.test(String.fromCharCode(event.keyCode))) {event.keyCode=65;return;}
	if (nuloE.test(String.fromCharCode(event.keyCode))) {event.keyCode=69;return;}
	if (nuloI.test(String.fromCharCode(event.keyCode))) {event.keyCode=73;return;}
	if (nuloO.test(String.fromCharCode(event.keyCode))) {event.keyCode=79;return;}
	if (nuloU.test(String.fromCharCode(event.keyCode))) {event.keyCode=85;return;}

	var caract = caract.test(String.fromCharCode(event.keyCode)); 
	if(!caract){
		event.keyCode=0;
		return;
	}
}

//Funcao para validar a quantidade de caracteres que existe em um textarea
function QtdCaracteres(obj, numcarac){
	if (obj.value.length >= numcarac){
		alert("Limite Determinado Ultrapassado!");
		obj.value = obj.value.substring(0, numcarac-1);
	}
}